+Fri Jul 14 16:21:26 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtktextlayout.c: use FALSE for size_only most
+ of the time when calling gtk_text_layout_get_line_display()
+ to avoid causing double reshapes when a redraw follows
+ immediately after.
+
+Tue Jul 11 11:13:40 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
+ appropriate region and gdk_window_process_updates() so trough
+ updating doesn't lag behind the window being scrolled.
+
+ * gdk/gdkgc.c: Make parent_class pointer static.
+
+Sun Jul 9 21:31:23 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
+ include <string.h>.
+
+ * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
+ cut-and-paste error in computing memory offset for 4 channels.
+
Fri Jul 14 14:05:02 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
+Fri Jul 14 16:21:26 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtktextlayout.c: use FALSE for size_only most
+ of the time when calling gtk_text_layout_get_line_display()
+ to avoid causing double reshapes when a redraw follows
+ immediately after.
+
+Tue Jul 11 11:13:40 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
+ appropriate region and gdk_window_process_updates() so trough
+ updating doesn't lag behind the window being scrolled.
+
+ * gdk/gdkgc.c: Make parent_class pointer static.
+
+Sun Jul 9 21:31:23 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
+ include <string.h>.
+
+ * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
+ cut-and-paste error in computing memory offset for 4 channels.
+
Fri Jul 14 14:05:02 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
+Fri Jul 14 16:21:26 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtktextlayout.c: use FALSE for size_only most
+ of the time when calling gtk_text_layout_get_line_display()
+ to avoid causing double reshapes when a redraw follows
+ immediately after.
+
+Tue Jul 11 11:13:40 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
+ appropriate region and gdk_window_process_updates() so trough
+ updating doesn't lag behind the window being scrolled.
+
+ * gdk/gdkgc.c: Make parent_class pointer static.
+
+Sun Jul 9 21:31:23 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
+ include <string.h>.
+
+ * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
+ cut-and-paste error in computing memory offset for 4 channels.
+
Fri Jul 14 14:05:02 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
+Fri Jul 14 16:21:26 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtktextlayout.c: use FALSE for size_only most
+ of the time when calling gtk_text_layout_get_line_display()
+ to avoid causing double reshapes when a redraw follows
+ immediately after.
+
+Tue Jul 11 11:13:40 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
+ appropriate region and gdk_window_process_updates() so trough
+ updating doesn't lag behind the window being scrolled.
+
+ * gdk/gdkgc.c: Make parent_class pointer static.
+
+Sun Jul 9 21:31:23 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
+ include <string.h>.
+
+ * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
+ cut-and-paste error in computing memory offset for 4 channels.
+
Fri Jul 14 14:05:02 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
+Fri Jul 14 16:21:26 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtktextlayout.c: use FALSE for size_only most
+ of the time when calling gtk_text_layout_get_line_display()
+ to avoid causing double reshapes when a redraw follows
+ immediately after.
+
+Tue Jul 11 11:13:40 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
+ appropriate region and gdk_window_process_updates() so trough
+ updating doesn't lag behind the window being scrolled.
+
+ * gdk/gdkgc.c: Make parent_class pointer static.
+
+Sun Jul 9 21:31:23 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
+ include <string.h>.
+
+ * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
+ cut-and-paste error in computing memory offset for 4 channels.
+
Fri Jul 14 14:05:02 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
+Fri Jul 14 16:21:26 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtktextlayout.c: use FALSE for size_only most
+ of the time when calling gtk_text_layout_get_line_display()
+ to avoid causing double reshapes when a redraw follows
+ immediately after.
+
+Tue Jul 11 11:13:40 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
+ appropriate region and gdk_window_process_updates() so trough
+ updating doesn't lag behind the window being scrolled.
+
+ * gdk/gdkgc.c: Make parent_class pointer static.
+
+Sun Jul 9 21:31:23 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
+ include <string.h>.
+
+ * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
+ cut-and-paste error in computing memory offset for 4 channels.
+
Fri Jul 14 14:05:02 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
+Fri Jul 14 16:21:26 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtktextlayout.c: use FALSE for size_only most
+ of the time when calling gtk_text_layout_get_line_display()
+ to avoid causing double reshapes when a redraw follows
+ immediately after.
+
+Tue Jul 11 11:13:40 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
+ appropriate region and gdk_window_process_updates() so trough
+ updating doesn't lag behind the window being scrolled.
+
+ * gdk/gdkgc.c: Make parent_class pointer static.
+
+Sun Jul 9 21:31:23 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
+ include <string.h>.
+
+ * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
+ cut-and-paste error in computing memory offset for 4 channels.
+
Fri Jul 14 14:05:02 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
+Tue Jul 11 11:26:42 2000 Owen Taylor <otaylor@redhat.com>
+
+ * gdk-pixbuf.c: Add <string.h> include.
+
Tue Jul 11 06:20:14 2000 Tim Janik <timj@gtk.org>
* io-gif.c (gdk_pixbuf__gif_image_load_animation):
#include <config.h>
#include <math.h>
#include <stdlib.h>
+#include <string.h>
#include "gdk-pixbuf.h"
#include "gdk-pixbuf-private.h"
static void gdk_gc_class_init (GObjectClass *class);
static void gdk_gc_finalize (GObject *object);
-GObjectClass *parent_class;
+static GObjectClass *parent_class;
GType
gdk_gc_get_type (void)
if (pixbuf->n_channels == 4)
{
- buf = pixbuf->pixels + src_y * pixbuf->rowstride + src_x * 3;
+ buf = pixbuf->pixels + src_y * pixbuf->rowstride + src_x * 4;
rowstride = pixbuf->rowstride;
gdk_draw_rgb_32_image_dithalign (drawable, gc,
return GTK_TROUGH_NONE;
}
+static GdkRegion *
+get_window_region (GdkWindow *window)
+{
+ GdkRectangle rect;
+
+ gdk_window_get_position (window, &rect.x, &rect.y);
+ gdk_window_get_size (window, &rect.width, &rect.height);
+
+ return gdk_region_rectangle (&rect);
+}
+
+static void
+move_and_update_window (GdkWindow *window, gint x, gint y)
+{
+ GdkRegion *old_region;
+ GdkRegion *new_region;
+ GdkWindow *parent = gdk_window_get_parent (window);
+
+ old_region = get_window_region (window);
+ gdk_window_move (window, x, y);
+ new_region = get_window_region (window);
+
+ gdk_region_subtract (old_region, new_region);
+ gdk_window_invalidate_region (parent, old_region, TRUE);
+ gdk_region_destroy (old_region);
+ gdk_region_destroy (new_region);
+
+ gdk_window_process_updates (parent, TRUE);
+}
+
void
gtk_range_default_hslider_update (GtkRange *range)
{
else if (x > right)
x = right;
- gdk_window_move (range->slider, x, GTK_WIDGET (range)->style->ythickness);
+ move_and_update_window (range->slider, x, GTK_WIDGET (range)->style->ythickness);
}
}
else if (y > bottom)
y = bottom;
- gdk_window_move (range->slider, GTK_WIDGET (range)->style->xthickness, y);
+ move_and_update_window (range->slider, GTK_WIDGET (range)->style->xthickness, y);
}
}
get_line_at_y (layout, y, &line, &line_top);
- display = gtk_text_layout_get_line_display (layout, line, TRUE);
+ display = gtk_text_layout_get_line_display (layout, line, FALSE);
x -= display->x_offset;
y -= line_top + display->top_margin;
line = gtk_text_iter_get_line (iter);
line_top = gtk_text_btree_find_line_top (layout->buffer->tree, line, layout);
- display = gtk_text_layout_get_line_display (layout, line, TRUE);
+ display = gtk_text_layout_get_line_display (layout, line, FALSE);
pango_layout_get_cursor_pos (display->layout, gtk_text_iter_get_line_byte (iter),
strong_pos ? &pango_strong_pos : NULL,
tree = gtk_text_iter_get_btree (iter);
line = gtk_text_iter_get_line (iter);
- display = gtk_text_layout_get_line_display (layout, line, TRUE);
+ display = gtk_text_layout_get_line_display (layout, line, FALSE);
rect->y = gtk_text_btree_find_line_top (tree, line, layout);
while (line && !found_line)
{
- GtkTextLineDisplay *display = gtk_text_layout_get_line_display (layout, line, TRUE);
+ GtkTextLineDisplay *display = gtk_text_layout_get_line_display (layout, line, FALSE);
gint byte_index = 0;
GSList *tmp_list = pango_layout_get_lines (display->layout);
while (line && !found_line)
{
- GtkTextLineDisplay *display = gtk_text_layout_get_line_display (layout, line, TRUE);
+ GtkTextLineDisplay *display = gtk_text_layout_get_line_display (layout, line, FALSE);
PangoRectangle logical_rect;
gint byte_index = 0;
line = gtk_text_iter_get_line (iter);
line_byte = gtk_text_iter_get_line_byte (iter);
- display = gtk_text_layout_get_line_display (layout, line, TRUE);
+ display = gtk_text_layout_get_line_display (layout, line, FALSE);
tmp_list = pango_layout_get_lines (display->layout);
layout_line = tmp_list->data;
gint byte_offset = 0;
gtk_text_layout_free_line_display (layout, display);
- display = gtk_text_layout_get_line_display (layout, prev_line, TRUE);
+ display = gtk_text_layout_get_line_display (layout, prev_line, FALSE);
tmp_list = pango_layout_get_lines (display->layout);
gint byte_offset = 0;
GSList *tmp_list;
- display = gtk_text_layout_get_line_display (layout, line, TRUE);
+ display = gtk_text_layout_get_line_display (layout, line, FALSE);
tmp_list = pango_layout_get_lines (display->layout);
while (tmp_list && !found_after)
line = gtk_text_iter_get_line (iter);
line_byte = gtk_text_iter_get_line_byte (iter);
- display = gtk_text_layout_get_line_display (layout, line, TRUE);
+ display = gtk_text_layout_get_line_display (layout, line, FALSE);
tmp_list = pango_layout_get_lines (display->layout);
while (tmp_list)
{
GtkTextLine *line = gtk_text_iter_get_line (iter);
gint line_byte = gtk_text_iter_get_line_byte (iter);
- GtkTextLineDisplay *display = gtk_text_layout_get_line_display (layout, line, TRUE);
+ GtkTextLineDisplay *display = gtk_text_layout_get_line_display (layout, line, FALSE);
int byte_count = gtk_text_line_byte_count (line);
int new_index;
*
*/
+#include <string.h>
+
#include "gtkbindings.h"
#include "gtkdnd.h"
#include "gtkmain.h"